home *** CD-ROM | disk | FTP | other *** search
/ Mastering Computers 3 / Mastering Computers Vol 3.iso / Win95 / Fun&Utils / MFCMSG.EXE / CMDLEARN.CPP < prev    next >
Encoding:
C/C++ Source or Header  |  1995-07-01  |  1.6 KB  |  72 lines

  1. ////////////////////////////////////////////////////////////////
  2. // CMDLEARN Copyright 1995 MSJ. 
  3. // If this program works, it was written by Paul DiLascia.
  4. // If not, I don't know who wrote it.
  5. //
  6. // CMDLEARN illustrates how MFC routes commands and messages.
  7.  
  8. #include "stdafx.h"
  9. #include "cmdlearn.h"
  10. #include "mainfrm.h"
  11. #include "doc.h"
  12. #include "view.h"
  13.  
  14. CApp NEAR theApp;
  15.  
  16. IMPLEMENT_DYNAMIC(CApp, CWinApp)
  17.  
  18. BEGIN_MESSAGE_MAP(CApp, CWinApp)
  19.    //{{AFX_MSG_MAP(CApp)
  20.    ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
  21.    //}}AFX_MSG_MAP
  22.    ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
  23. END_MESSAGE_MAP()
  24.  
  25. CApp::CApp()
  26. {
  27. }
  28.  
  29. BOOL CApp::InitInstance()
  30. {
  31.    
  32.    CMultiDocTemplate* pDocTemplate;          // Standard garbage
  33.    pDocTemplate = new CMultiDocTemplate(
  34.       IDR_FILEINTYPE,
  35.       RUNTIME_CLASS(CFileDoc),
  36.       RUNTIME_CLASS(CFileMDIChildWnd),
  37.       RUNTIME_CLASS(CFileView));
  38.    AddDocTemplate(pDocTemplate);
  39.  
  40.    CMainFrame* pMainFrame = new CMainFrame;
  41.    if (!pMainFrame->LoadFrame(IDR_MAINFRAME))
  42.       return FALSE;
  43.    m_pMainWnd = pMainFrame;
  44.  
  45.    pMainFrame->ShowWindow(m_nCmdShow);
  46.    pMainFrame->UpdateWindow();
  47.  
  48.    return TRUE;
  49. }
  50.  
  51. class CAboutDlg : public CDialog {
  52. public:
  53.    CAboutDlg() : CDialog(IDD_ABOUTBOX) {  }
  54. };
  55.  
  56. void CApp::OnAppAbout()
  57. {
  58.    CAboutDlg aboutDlg;
  59.    aboutDlg.DoModal();
  60. }
  61.  
  62. BOOL CApp::OnCmdMsg(UINT nID, int nCode, void* pExtra, 
  63.    AFX_CMDHANDLERINFO* pHandlerInfo)
  64. {
  65.    // route to doc/view/frame/app
  66.    if (TWinApp::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo))
  67.       return TRUE;
  68.  
  69.    // route to theTracer
  70.    return theTracer.OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);
  71. }
  72.